import server from "../utils/request.js";

/**
 * 生成当日巡更任务（手动触发）
 * @returns {Promise}
 */
export function generateDailyTasks() {
    return server({
        url: '/patrol/task/generate/daily',
        method: 'GET'
    });
}

/**
 * 更新任务状态
 * @param {Object} params - 参数对象
 * @param {Number} params.taskId - 任务ID
 * @param {Number} params.status - 状态码
 * @param {String} [params.remark] - 备注信息
 * @returns {Promise}
 */
export function updateTaskStatus(data) {
    return server({
        url: '/patrol/task/update/status',
        method: 'POST',
        data: data
    });
}

/**
 * 获取当日任务列表
 * @returns {Promise}
 */
export function getTodayTasks(params) {
    return server({
        url: '/patrol/task/today',
        method: 'GET',
        params
    });
}

/**
 * 计算任务完成率
 * @param {Number} taskId - 任务ID
 * @returns {Promise}
 */
export function calculateCompletionRate(taskId) {
    return server({
        url: '/patrol/task/completion',
        method: 'GET',
        params: { taskId }
    });
}

/**
 * 获取任务详情
 * @param {Number} taskId - 任务ID
 * @returns {Promise}
 */
export function getTaskDetail(taskId) {
    return server({
        url: `/patrol/task/${taskId}`,
        method: 'GET'
    });
}

/**
 * 获取任务统计数据
 * @returns {Promise}
 */
export function getTaskStats(params) {
    return server({
        url: '/patrol/task/get-stats',  // 新路径
        method: 'GET',
        params
    });
}

/**
 * 检查是否可以生成今日任务
 * @returns {Promise}
 */
export function checkCanGenerateTodayTasks(params) {
    return server({
        url: '/patrol/task/can-generate-today',
        method: 'GET',
        params
    });
}

/**
 * 导出任务报告
 * @param {Number} taskId - 任务ID
 * @returns {Promise}
 */
export function exportTaskReport(taskId) {
    return server({
        url: `/patrol/task/export/${taskId}`,
        method: 'GET',
        responseType: 'blob'
    });
}

/**
 * 批量导出任务
 * @param {Object} params - 筛选参数
 * @returns {Promise}
 */
export function exportAllTasks(params) {
    return server({
        url: '/patrol/task/export/all',
        method: 'GET',
        params,
        responseType: 'blob'
    });
}
/**
 * 获取今日逾期任务数（状态为5的任务）
 * @param {Object} params - 参数对象
 * @param {Number} params.communityId - 社区ID（可选）
 * @returns {Promise}
 */
export function getOverdueTasksCount(params) {
    return server({
        url: '/patrol/task/overdue',
        method: 'GET',
        params
    });
}